package com.proveedor.business;

import java.util.List;
import java.util.Properties;

import javax.naming.InitialContext;

import proveedorPackage.Proveedor;
import entities.ListaDePrecios;
import entities.MateriaPrimaVO;
import entities.OrdenCompraCCVO;
import entities.Rodamiento;
import entities.RodamientoVO;

public class ProveedorDelegator implements Proveedor{

	private Proveedor proveedor;
    
    private static ProveedorDelegator instance; 
    
    private ProveedorDelegator(){
    	try {
			Properties props = new Properties();
			props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
			props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
			props.setProperty("java.naming.provider.url", "127.0.0.1:1099");      
			InitialContext ctx = new InitialContext(props);
			proveedor = (Proveedor) ctx.lookup("ProveedorEJBEAR/ProveedorBean/remote");
    	}catch (Exception e) {
           // throw new WebApplicationException(e,"Error al obtener la instancia del CasaCentralBean");
	    }
    }
   
    public static synchronized ProveedorDelegator getInstance() {
        if(instance==null){
                 instance = new ProveedorDelegator();
        }
        return instance;
}
	
	@Override
	public Rodamiento nuevoRodamiento(RodamientoVO rodamiento) {
		return proveedor.nuevoRodamiento(rodamiento);
	}

//	@Override
//	public ListaDePrecios getListaDePrecios() {
//		return proveedor.getListaDePrecios();
//	}
//
//	@Override
//	public void nuevaListaDePrecios(ListaDePrecios lista) {
//		proveedor.nuevaListaDePrecios(lista);
//	}
//
//	@Override
//	public List<MateriaPrimaVO> getMateriasPrima() {
//		return proveedor.getMateriasPrima();
//	}

	@Override
	public ListaDePrecios getListaDePrecios() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void nuevaListaDePrecios(ListaDePrecios lista) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void venderRodamientos(OrdenCompraCCVO ordenCompraCC) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public List<MateriaPrimaVO> getMateriasPrima() {
		// TODO Auto-generated method stub
		return null;
	}

}
